/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package administracao;

import cadastro.cad_fornecedor;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import principalcontrole.principal;
import utilitario.pedido_compra_forn;
import utilitario.prd_fornecedor;

/**
 *
 * @author marcos
 */
public class pedido_de_compra_fornecedor extends javax.swing.JFrame implements Runnable{

    /**
     * Creates new form pedido_de_compra_fornecedor
     */
     private ArrayList prod_forn;
     private ArrayList fornecedores;
     private ArrayList pedidos;

        Object campos1[] = new Object[100];
        Object campos_nome_fornecedor[] = new Object[100];
        int cont_ped=1;
        int cont2=0;
        double valor_total =0.0;
        principal tela_principal;

        boolean verificador_de_clik =true;



    public pedido_de_compra_fornecedor() {
        initComponents();

                prod_forn = new ArrayList();
                  pedidos = new ArrayList();
                  carregar_pedidos();
                  cont_ped = cont2 + 1;

                    double valor_tot = carrega_valor_total();
                    tf_valor_total.setText(""+valor_tot);
                    ler_arquivo();

                    tf_cod.setText(""+cont_ped);
                    cb_fornecedor.setSelectedIndex(-1);



    }


     public pedido_de_compra_fornecedor(principal tela_principal){
       this();
       this.tela_principal = tela_principal;


    }

        void ler_arquivo(){


        cad_fornecedor obj_fornecedor;

         try{
         ObjectInputStream arquivo_ler = new ObjectInputStream(new FileInputStream(new File("docs/cad_forn.bat")));
         fornecedores = (ArrayList) arquivo_ler.readObject();

        }
         catch(ClassNotFoundException erro){
             JOptionPane.showMessageDialog(null,"a classe nao foi encontrada "+erro);

         }
         catch(FileNotFoundException erro)
         {
         JOptionPane.showMessageDialog(null,"o arquivo nao foi encotrado"+erro);
         }
        catch(Exception erro){

            JOptionPane.showMessageDialog(null,"ERRO AO GRAVAR!!"+erro);
        }

          Object campos2[] = new Object[4];

           Iterator iterator2;

                       iterator2 = fornecedores.iterator();


                       while(iterator2.hasNext()){
                       obj_fornecedor = (cad_fornecedor) iterator2.next();

                       campos2[0] = obj_fornecedor.getNome();

                           cb_fornecedor.addItem(campos2[0]);

                       }

            //----------------------------------------------------------------

  DefaultTableModel dtm = (DefaultTableModel) tabela_produtos_forn.getModel();

    prd_fornecedor cad_prd_fornecedor;

            try{

              ObjectInputStream arquivo_prod_forn_ler = new ObjectInputStream(new FileInputStream (new File ("docs/prod_forn.dat")));
              prod_forn = (ArrayList) arquivo_prod_forn_ler.readObject();

            }
            catch(ClassNotFoundException erro){

            JOptionPane.showMessageDialog(null,"Erro ler o arquivo");

            }
            catch(FileNotFoundException erro)
            {
                  JOptionPane.showMessageDialog(null,"o arquivo nao foi encotrado"+erro);
            }
             catch(Exception erro){

                JOptionPane.showMessageDialog(null,"ERRO AO GRAVAR!!"+erro);
            }

                        Object campos[] = new Object[4];


                       Iterator iterator;

                       iterator = prod_forn.iterator();

                       int i=0;
                       while(iterator.hasNext()){

                       cad_prd_fornecedor = (prd_fornecedor) iterator.next();
                       campos[0] = cad_prd_fornecedor.getNome_fornecedor();
                       campos[1] = cad_prd_fornecedor.getNome();
                       campos[2] = cad_prd_fornecedor.getValor();
                       campos[3] = cad_prd_fornecedor.getTempo_entrega();



                       dtm.addRow(campos);
                       
                         campos1[i] = cad_prd_fornecedor.getNome();
                         campos_nome_fornecedor[i] =  cad_prd_fornecedor.getNome_fornecedor();


                          i++;


                       }

    }


    /**
     * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The
     * content of this method is always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel7 = new javax.swing.JPanel();
        jPanel3 = new javax.swing.JPanel();
        cb_prd = new javax.swing.JComboBox();
        tf_quantidade = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        tf_tempo_entrega = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        tf_valor_prd = new javax.swing.JTextField();
        jLabel7 = new javax.swing.JLabel();
        jPanel6 = new javax.swing.JPanel();
        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel4 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        tabela_pedidos = new javax.swing.JTable();
        jPanel5 = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        tabela_produtos_forn = new javax.swing.JTable();
        tf_cod = new javax.swing.JTextField();
        jLabel8 = new javax.swing.JLabel();
        cb_fornecedor = new javax.swing.JComboBox();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        bt_finaliza_pedido = new javax.swing.JButton();
        jLabel6 = new javax.swing.JLabel();
        tf_valor_total = new javax.swing.JTextField();
        jButton5 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Pedido de Compra Fornecedor");
        setBackground(new java.awt.Color(249, 249, 249));
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowActivated(java.awt.event.WindowEvent evt) {
                formWindowActivated(evt);
            }
            public void windowClosed(java.awt.event.WindowEvent evt) {
                formWindowClosed(evt);
            }
        });

        jPanel7.setBackground(new java.awt.Color(249, 249, 249));

        jPanel3.setBackground(new java.awt.Color(249, 249, 249));
        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Pedido de Compra", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Arial", 1, 12), new java.awt.Color(255, 0, 0))); // NOI18N

        cb_prd.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        cb_prd.setForeground(new java.awt.Color(255, 0, 0));
        cb_prd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cb_prdActionPerformed(evt);
            }
        });

        tf_quantidade.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        tf_quantidade.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                tf_quantidadeKeyReleased(evt);
            }
        });

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabel1.setText("Quantidade.:");

        jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/check-64.png"))); // NOI18N
        jButton1.setToolTipText("Adicionar Produto");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/novo.png"))); // NOI18N
        jButton2.setToolTipText("Novo Produto");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        tf_tempo_entrega.setEditable(false);
        tf_tempo_entrega.setBackground(new java.awt.Color(227, 227, 227));
        tf_tempo_entrega.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        tf_tempo_entrega.setForeground(new java.awt.Color(255, 0, 0));
        tf_tempo_entrega.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tf_tempo_entregaActionPerformed(evt);
            }
        });

        jLabel2.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabel2.setText("Fornecedor.:");

        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabel3.setText("Produto.:");

        jLabel4.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabel4.setText("Tempo / Entrega.:");

        tf_valor_prd.setEditable(false);
        tf_valor_prd.setBackground(new java.awt.Color(227, 227, 227));
        tf_valor_prd.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        tf_valor_prd.setForeground(new java.awt.Color(255, 0, 0));

        jLabel7.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabel7.setText("Valor.:");

        jPanel6.setBackground(new java.awt.Color(249, 249, 249));

        jTabbedPane1.setBackground(new java.awt.Color(249, 249, 249));
        jTabbedPane1.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        tabela_pedidos.setBackground(new java.awt.Color(0, 0, 0));
        tabela_pedidos.setForeground(new java.awt.Color(255, 0, 0));
        tabela_pedidos.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Cod", "Fornecedor", "Produto", "Quantidade", "Tempo Entrega", "Valor", "Situação"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tabela_pedidos.setGridColor(new java.awt.Color(249, 249, 249));
        tabela_pedidos.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tabela_pedidosMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(tabela_pedidos);

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 524, Short.MAX_VALUE)
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE)
        );

        jTabbedPane1.addTab("Pedido de Compra", jPanel4);

        tabela_produtos_forn.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Fornecedor", "Nome", "Preço", "Temp/Ent"
            }
        ));
        tabela_produtos_forn.setSelectionBackground(new java.awt.Color(204, 204, 204));
        tabela_produtos_forn.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tabela_produtos_fornMouseClicked(evt);
            }
        });
        tabela_produtos_forn.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                tabela_produtos_fornKeyPressed(evt);
            }
            public void keyReleased(java.awt.event.KeyEvent evt) {
                tabela_produtos_fornKeyReleased(evt);
            }
            public void keyTyped(java.awt.event.KeyEvent evt) {
                tabela_produtos_fornKeyTyped(evt);
            }
        });
        jScrollPane2.setViewportView(tabela_produtos_forn);

        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
        jPanel5.setLayout(jPanel5Layout);
        jPanel5Layout.setHorizontalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 524, Short.MAX_VALUE)
        );
        jPanel5Layout.setVerticalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE)
        );

        jTabbedPane1.addTab("Lista produtos fornecedores", jPanel5);

        javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
        jPanel6.setLayout(jPanel6Layout);
        jPanel6Layout.setHorizontalGroup(
            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 533, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        jPanel6Layout.setVerticalGroup(
            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 202, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        tf_cod.setEditable(false);
        tf_cod.setBackground(new java.awt.Color(0, 0, 0));
        tf_cod.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        tf_cod.setForeground(new java.awt.Color(0, 255, 255));

        jLabel8.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabel8.setText("Codigo.:");

        cb_fornecedor.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                cb_fornecedorMouseClicked(evt);
            }
        });
        cb_fornecedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cb_fornecedorActionPerformed(evt);
            }
        });

        jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/editar.png"))); // NOI18N
        jButton3.setToolTipText("Editar");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        jButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/excluir.png"))); // NOI18N
        jButton4.setToolTipText("Excluir");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addGap(24, 24, 24)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel8)
                            .addComponent(tf_cod, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(cb_fornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, 203, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(cb_prd, javax.swing.GroupLayout.PREFERRED_SIZE, 193, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(tf_tempo_entrega, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(tf_valor_prd, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(8, 8, 8))
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(tf_quantidade, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(jPanel3Layout.createSequentialGroup()
                                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addComponent(jButton3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jButton1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addGap(19, 19, 19)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel4)
                            .addComponent(jLabel7)
                            .addComponent(jLabel8)
                            .addComponent(jLabel2))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(tf_tempo_entrega, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(tf_cod, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(cb_fornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(tf_valor_prd, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(cb_prd, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(18, 18, 18)
                .addComponent(jLabel1)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addGap(5, 5, 5)
                        .addComponent(tf_quantidade, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(30, 30, 30)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jButton1)
                            .addComponent(jButton2))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(23, 23, 23))))
        );

        jPanel2.setBackground(new java.awt.Color(249, 249, 249));
        jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        bt_finaliza_pedido.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        bt_finaliza_pedido.setText("Finalizar Pedido");
        bt_finaliza_pedido.setToolTipText("Finalizar Pedido");
        bt_finaliza_pedido.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bt_finaliza_pedidoActionPerformed(evt);
            }
        });

        jLabel6.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabel6.setText("Valor Total .:");

        tf_valor_total.setEditable(false);
        tf_valor_total.setBackground(new java.awt.Color(227, 227, 227));
        tf_valor_total.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        tf_valor_total.setForeground(new java.awt.Color(255, 0, 0));
        tf_valor_total.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tf_valor_totalActionPerformed(evt);
            }
        });

        jButton5.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jButton5.setText("Limpar Campos");
        jButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton5ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGap(30, 30, 30)
                .addComponent(bt_finaliza_pedido)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(157, 157, 157)
                .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(tf_valor_total, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jButton5, javax.swing.GroupLayout.DEFAULT_SIZE, 41, Short.MAX_VALUE)
                        .addComponent(jLabel6)
                        .addComponent(tf_valor_total, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(bt_finaliza_pedido, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
        jPanel7.setLayout(jPanel7Layout);
        jPanel7Layout.setHorizontalGroup(
            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel7Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel7Layout.setVerticalGroup(
            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel7Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 2, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void tf_valor_totalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tf_valor_totalActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_tf_valor_totalActionPerformed

    private void tabela_produtos_fornKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_tabela_produtos_fornKeyTyped
        // TODO add your handling code here:
    }//GEN-LAST:event_tabela_produtos_fornKeyTyped

    private void tabela_produtos_fornKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_tabela_produtos_fornKeyReleased
        // TODO add your handling code here:
        // setField();
    }//GEN-LAST:event_tabela_produtos_fornKeyReleased

    private void tabela_produtos_fornKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_tabela_produtos_fornKeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_tabela_produtos_fornKeyPressed

    private void tabela_produtos_fornMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tabela_produtos_fornMouseClicked
        // TODO add your handling code here:
     //   setField();
    }//GEN-LAST:event_tabela_produtos_fornMouseClicked

    private void tf_tempo_entregaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tf_tempo_entregaActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_tf_tempo_entregaActionPerformed

    // evento do botao de add produto no pedido
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // TODO add your handling code here:

        //se o campo de quantidade estiver fazio nao vai entro no if
        if(!tf_quantidade.getText().equals("")){

            tf_cod.setText(""+cont_ped);//setando na tela o numero do pedido

            double valor_base = 0;
            DefaultTableModel dmt = (DefaultTableModel) tabela_pedidos.getModel();

            valor_base = Integer.parseInt(tf_quantidade.getText()) * Double.parseDouble(tf_valor_prd.getText());

            int quantidade = dmt.getRowCount();//pegando a quantidade linha da tabela
            int nova_quantidade;
            boolean verifica_igual = true;

            //verificando se ja tem mesmo produto no pedido , se tem acresenta mais na quantidade no produto
            for(int i=0; i < quantidade ; i++){

                 if(tf_cod.getText().equals(tabela_pedidos.getValueAt(i, 0)) && cb_prd.getSelectedItem().equals(tabela_pedidos.getValueAt(i, 2))){
                     nova_quantidade = Integer.parseInt(tabela_pedidos.getValueAt(i, 3).toString());
                     nova_quantidade = nova_quantidade + Integer.parseInt(tf_quantidade.getText());
                     tabela_pedidos.setValueAt(nova_quantidade , i, 3);
                     verifica_igual = false;
                     break;

                 }



            }

            if(verifica_igual != false){

            dmt.addRow(new Object[] {tf_cod.getText(),cb_fornecedor.getSelectedItem(),cb_prd.getSelectedItem(),tf_quantidade.getText(),tf_tempo_entrega.getText(),tf_valor_prd.getText(),"Pendente"});

            }

            valor_total = valor_total + valor_base;//pegando valor total de um pedido

            tf_valor_total.setText(""+valor_total);//colocando valor total na tela


        }
        else{
        JOptionPane.showMessageDialog(null,"O campo de quantidade esta vazio!!.:");
        tf_quantidade.requestFocus();}
    }//GEN-LAST:event_jButton1ActionPerformed

    //metodo para quando selecionar o produto no combobox de produto para apresentar os dados de tempo entrega e valor do produto.
    private void cb_prdActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cb_prdActionPerformed
        // TODO add your handling code here:

         if(cb_fornecedor.getSelectedIndex() != -1){

             verificando();
          }
        Object nome_produto = cb_prd.getSelectedItem();
        int quant = tabela_produtos_forn.getRowCount();
        int p =cb_prd.getSelectedIndex();

        if(p !=-1){

        for(int i = 0 ; i< quant ; i++){

            if(nome_produto.equals(tabela_produtos_forn.getValueAt(i,1))){

                    tf_tempo_entrega.setText(tabela_produtos_forn.getValueAt(i,3).toString());
                    tf_valor_prd.setText(tabela_produtos_forn.getValueAt(i,2).toString());


                break;

            }

        }

      }

    }//GEN-LAST:event_cb_prdActionPerformed

    //evento do botao novo produto; vai lempa os campos apenas
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        // TODO add your handling code here:
        cb_prd.setSelectedIndex(-1);
       limpa_campos();

    }//GEN-LAST:event_jButton2ActionPerformed
//metodod para limpar os campos
    void limpa_campos(){

           tf_tempo_entrega.setText("");
         tf_valor_prd.setText("");
         tf_quantidade.setText("");


    }

    //evendo quando selecionar um fornecedor no combobox para apresentar os produto deste fornecedor no outro combobox
    private void cb_fornecedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cb_fornecedorActionPerformed
        // TODO add your handling code here:


        Object nome_forn = cb_fornecedor.getSelectedItem();
        int t = cb_fornecedor.getSelectedIndex();
        cb_prd.removeAllItems();


          if(t != -1)
          {
                for(int i = 0 ; i < campos_nome_fornecedor.length; i++)
                {


                    if(nome_forn.equals(campos_nome_fornecedor[i])){


                        cb_prd.addItem(campos1[i]);

                    }


               }


          }




    }//GEN-LAST:event_cb_fornecedorActionPerformed

    //evento do botao finalizar pedido, quando clicado vai gerar um relatorio do pedido e gravar e esse pedido no arquivo
    private void bt_finaliza_pedidoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_finaliza_pedidoActionPerformed
        // TODO add your handling code here:
        verificador_de_clik = false;
        cb_fornecedor.setEnabled(true);//difinindo combobox fornecedor com enable

        int quantidade_linha = tabela_pedidos.getRowCount(); //pegando quantidade linhas da tabela de pedidos

        //pegando o codigo do ultimo produdo adicionada
        int cod = Integer.parseInt(tabela_pedidos.getValueAt(quantidade_linha-1, 0).toString());
        cod++;//

        cont_ped = cod;
        tf_cod.setText(""+cont_ped);
        JTextArea relatorio_final_do_pedido;
        relatorio_final_do_pedido = new JTextArea();

         relatorio_final_do_pedido.setText("Produtos\tFornecedora\tQuantidades\n");

        int quantidade = tabela_pedidos.getRowCount();




        for(int i =0 ; i< quantidade ; i++){



            relatorio_final_do_pedido.append("\n"+tabela_pedidos.getValueAt(i, 2)+"\t"+tabela_pedidos.getValueAt(i, 1).toString()+"\t"+ tabela_pedidos.getValueAt(i, 3).toString()+"\n");



        }


        gravar_pedido();


        relatorio_final_do_pedido.append("------------------------------------------------------------\nValor Total dos Pedidos = R$ "+tf_valor_total.getText());

        JOptionPane.showMessageDialog(null,relatorio_final_do_pedido,"Relatorio Final dos Pedidos",JOptionPane.INFORMATION_MESSAGE);

    }//GEN-LAST:event_bt_finaliza_pedidoActionPerformed

    private void cb_fornecedorMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_cb_fornecedorMouseClicked
        // TODO add your handling code here:
    }//GEN-LAST:event_cb_fornecedorMouseClicked

    private void tf_quantidadeKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_tf_quantidadeKeyReleased
        // TODO add your handling code here:
        tf_quantidade.setText(tf_quantidade.getText().replaceAll("[^0-9 | ^.]", ""));//restrigindo letra
    }//GEN-LAST:event_tf_quantidadeKeyReleased

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
        // TODO add your handling code here:

        int linha = tabela_pedidos.getSelectedRow();//pegando a linha da tabela

        if(linha != -1){

            JPanel tela = new JPanel();//criando um painel
            JTextField tf_quantidades = new JTextField();//criando um objeto do tipo textfield
            tf_quantidades.setColumns(8); //definido o tamanho do campos do textfield
            JComboBox cb_produto =  new JComboBox();//criando um combo box
            int quant = cb_prd.getItemCount();//pegando a quantidade de item do combobox de produto


           Object campos[] = new Object[quant];

                for(int i = 0 ; i< quant ;i++){

                    campos[i] = cb_prd.getItemAt(i);
                    cb_produto.addItem(campos[i]);

                }




            JLabel lb_quant = new JLabel("Digite a nova quantidade");
            tela.add(cb_produto);
            tela.add(lb_quant);
            tela.add(tf_quantidades);

            JOptionPane.showMessageDialog(rootPane, tela);

             //editando os campos na tabela
            tabela_pedidos.setValueAt(cb_produto.getSelectedItem(), linha, 2);
                 tabela_pedidos.setValueAt(tf_quantidades.getText(), linha, 3);
                     tabela_pedidos.setValueAt(tf_tempo_entrega.getText(), linha, 4);
                        tabela_pedidos.setValueAt(tf_valor_prd.getText(), linha, 5);

             //calculando novo valor total
            calcula_valor_total_do_editar();
            //gravando tudo no rquivo
            gravar_pedido();



        }
        else{

            JOptionPane.showMessageDialog(null,"Porfavor Selecione uma linha");
        }




    }//GEN-LAST:event_jButton3ActionPerformed

    private void tabela_pedidosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tabela_pedidosMouseClicked
        // TODO add your handling code here:


    }//GEN-LAST:event_tabela_pedidosMouseClicked
//botao excluir
    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
        // TODO add your handling code here:
        DefaultTableModel dtm = (DefaultTableModel) tabela_pedidos.getModel();
        int linha = tabela_pedidos.getSelectedRow();

        if(linha != -1){


            dtm.removeRow(linha);
            pedidos.remove(linha);
            calcula_valor_total_do_excluir();
            gravar_pedido();

                int quant = dtm.getRowCount();
                if(quant > linha){

                    tabela_pedidos.setRowSelectionInterval(linha, linha);
                    setField();

                }
                if(linha > 0){

                  tabela_pedidos.setRowSelectionInterval(linha-1, linha-1);
                  setField();
                }



        }else{
            JOptionPane.showMessageDialog(null,"Selecione uma linha");}

    }//GEN-LAST:event_jButton4ActionPerformed

    //novo pedido;
    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed
        // TODO add your handling code here:

        int quant = tabela_pedidos.getRowCount();

        limpa_campos();

         if(quant == 0){

             cont_ped =1 ;
           tf_cod.setText(""+cont_ped);

        }

    }//GEN-LAST:event_jButton5ActionPerformed

    private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed
        // TODO add your handling code here:


        tela_principal.setEnabled(true);

       Thread t = new Thread(tela_principal);

      t.start();



    }//GEN-LAST:event_formWindowClosed

    private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated
        // TODO add your handling code here:
    }//GEN-LAST:event_formWindowActivated
//metodo que vai calcular o vlaor tota do pedidos do fornecedor editado
    void calcula_valor_total_do_editar(){

        int linha_selecionada = tabela_pedidos.getSelectedRow();

        double valor_base=0;
       Object  tipo_cod = tabela_pedidos.getValueAt(linha_selecionada, 0);

       int quant = tabela_pedidos.getRowCount();

       for(int i = 0 ; i<quant; i++){

           if(tipo_cod.equals(tabela_pedidos.getValueAt(i, 0))){
           //3 e 5

                valor_base = Integer.parseInt(tabela_pedidos.getValueAt(i,3).toString()) *  Double.parseDouble(tabela_pedidos.getValueAt(i,5).toString());




           }else{
           continue;
           }



       }

       valor_total = 0;
       valor_total = valor_total + valor_base;

       tf_valor_total.setText(""+valor_total);


    }

 //metodo que vai calcular o vlaor tota do pedidos do fornecedor editado
 void calcula_valor_total_do_excluir(){


            double valor_base=0;
            int quant = tabela_pedidos.getRowCount();

       for(int i = 0 ; i<quant; i++){

                valor_base = Integer.parseInt(tabela_pedidos.getValueAt(i,3).toString()) *  Double.parseDouble(tabela_pedidos.getValueAt(i,5).toString());

       }

       valor_total = 0;
       valor_total = valor_total + valor_base;

       tf_valor_total.setText(""+valor_total);


    }

  //setar os campos do formulario
   void setField(){

   int linha = tabela_pedidos.getSelectedRow();
   cb_fornecedor.setSelectedItem(tabela_pedidos.getValueAt(linha, 1));
   cb_prd.setSelectedItem(tabela_pedidos.getValueAt(linha, 2));
   tf_quantidade.setText(tabela_pedidos.getValueAt(linha, 3).toString());
   tf_tempo_entrega.setText(tabela_pedidos.getValueAt(linha, 4).toString());
   tf_valor_prd.setText(tabela_pedidos.getValueAt(linha, 5).toString());





   }
  void verificando(){


 cb_fornecedor.setEnabled(false);


}
  //metodo para gravar o pedido no arquivo
  void gravar_pedido(){

      pedidos.clear();

      int quant = tabela_pedidos.getRowCount();


      for(int i =0 ; i< quant ; i++){


      pedidos.add(new pedido_compra_forn(Integer.parseInt(tabela_pedidos.getValueAt(i, 0).toString()),
                     tabela_pedidos.getValueAt(i, 1).toString(),
                     tabela_pedidos.getValueAt(i, 2).toString(),
                     Integer.parseInt(tabela_pedidos.getValueAt(i, 3).toString()),
                     tabela_pedidos.getValueAt(i, 4).toString(),
                     Double.parseDouble(tabela_pedidos.getValueAt(i, 5).toString()),
                     tabela_pedidos.getValueAt(i, 6).toString(),
                     valor_total));


      }


      try{

          ObjectOutputStream gravar_pedido = new ObjectOutputStream(new FileOutputStream (new File("docs/pedidos.dat")));
          gravar_pedido.writeObject(pedidos);

      }catch(Exception erro){
        JOptionPane.showMessageDialog(null,"erro em gravar");
      }



  }

  void carregar_pedidos(){


      DefaultTableModel dtm = (DefaultTableModel) tabela_pedidos.getModel();

      pedido_compra_forn aux_pedido;
      try{

               ObjectInputStream arquivo_ler = new ObjectInputStream(new FileInputStream(new File("docs/pedidos.dat")));
               pedidos = (ArrayList) arquivo_ler.readObject();


      }catch(IOException | ClassNotFoundException erro){
         JOptionPane.showMessageDialog(null,"ERRO AO GRAVAR!!"+erro);
      }

    Object campos[] = new Object[8];

    Iterator iterar;

    iterar  = pedidos.iterator();

    while(iterar.hasNext()){

    aux_pedido = (pedido_compra_forn) iterar.next();
    campos[0] =aux_pedido.getCodigo();
    cont2 = aux_pedido.getCodigo();
    campos[1] =aux_pedido.getNome_fornecedor();
    campos[2] = aux_pedido.getNome_produto();
    campos[3] = aux_pedido.getQuantidade();
    campos[4] = aux_pedido.getTempo_entrega();
    campos[5] = aux_pedido.getValor_produto();
    campos[6] = aux_pedido.getSituacao_pedido();
    campos[7] = aux_pedido.getValor_total();
     valor_total = aux_pedido.getValor_total();


    dtm.addRow(campos);


    }

  }


 Double carrega_valor_total(){



      pedido_compra_forn aux_pedido;
      try{

               ObjectInputStream arquivo_ler = new ObjectInputStream(new FileInputStream(new File("docs/pedidos.dat")));
               pedidos = (ArrayList) arquivo_ler.readObject();


      }catch(IOException | ClassNotFoundException erro){
         JOptionPane.showMessageDialog(null,"ERRO AO GRAVAR!!"+erro);
      }

    double valor=0;

    Iterator iterar;

    iterar  = pedidos.iterator();

    while(iterar.hasNext()){

    aux_pedido = (pedido_compra_forn) iterar.next();

    valor += aux_pedido.getQuantidade() * aux_pedido.getValor_produto();





    }
    valor_total = valor;
    return valor;


 }

 public void run(){

 while(this.isVisible()){
     tela_principal.setEnabled(true);


 }



 }
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(pedido_de_compra_fornecedor.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(pedido_de_compra_fornecedor.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(pedido_de_compra_fornecedor.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(pedido_de_compra_fornecedor.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new pedido_de_compra_fornecedor().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton bt_finaliza_pedido;
    private javax.swing.JComboBox cb_fornecedor;
    private javax.swing.JComboBox cb_prd;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JPanel jPanel7;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JTable tabela_pedidos;
    private javax.swing.JTable tabela_produtos_forn;
    private javax.swing.JTextField tf_cod;
    private javax.swing.JTextField tf_quantidade;
    private javax.swing.JTextField tf_tempo_entrega;
    private javax.swing.JTextField tf_valor_prd;
    private javax.swing.JTextField tf_valor_total;
    // End of variables declaration//GEN-END:variables
}
